@fusion.dev/helix-headless 0.209.0 → 0.211.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/api.json +1 -1
- package/custom-elements.json +1 -1
- package/dist/canvas/root/canvas-root.d.ts +39 -1
- package/dist/canvas/root/canvas-root.js +4 -0
- package/dist/graph/root/graph-root.d.ts +50 -10
- package/dist/graph/root/graph-root.js +24 -23
- package/dist/legend/root/legend-root.d.ts +9 -15
- package/dist/legend/root/legend-root.js +10 -20
- package/dist/map/root/map-root.d.ts +59 -2
- package/dist/map/root/map-root.js +123 -33
- package/dist/toolbar/root/toolbar-root.d.ts +5 -88
- package/dist/toolbar/root/toolbar-root.js +10 -227
- package/examples.json +1 -1
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +240 -10
- package/types/vue.d.ts +3 -3
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-headless",
|
|
3
3
|
"description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.211.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -58,14 +58,14 @@
|
|
|
58
58
|
},
|
|
59
59
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@fusion.dev/helix-core": "0.
|
|
62
|
-
"@fusion.dev/helix-icons": "0.
|
|
61
|
+
"@fusion.dev/helix-core": "0.211.0",
|
|
62
|
+
"@fusion.dev/helix-icons": "0.211.0",
|
|
63
63
|
"tslib": "^2.8.1",
|
|
64
64
|
"uqr": "^0.1.3"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@fusion.dev/helix-cem": "0.
|
|
68
|
-
"@fusion.dev/helix-testing": "0.
|
|
67
|
+
"@fusion.dev/helix-cem": "0.211.0",
|
|
68
|
+
"@fusion.dev/helix-testing": "0.211.0",
|
|
69
69
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
70
70
|
"@happy-dom/global-registrator": "^20.14.5",
|
|
71
71
|
"@lit-labs/ssr": "^4.1.0",
|
package/types/jsx.d.ts
CHANGED
|
@@ -43083,6 +43083,9 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
43083
43083
|
* board, where the arrow keys pan it.
|
|
43084
43084
|
* - Plus and minus zoom the board, on the board and on a card or a
|
|
43085
43085
|
* connection.
|
|
43086
|
+
* - The pan and zoom buttons are a toolbar and one tab stop. The arrow keys
|
|
43087
|
+
* move between them by where they sit, Right from the up arrow to zoom in,
|
|
43088
|
+
* and Enter or Space presses one.
|
|
43086
43089
|
* - The arrow keys move through the cards in reading order. The card you land
|
|
43087
43090
|
* on scrolls into view, and its connections are announced with it.
|
|
43088
43091
|
* - The card you land on is selected. Control or Command with an arrow key,
|
|
@@ -43523,7 +43526,7 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
43523
43526
|
*
|
|
43524
43527
|
* - `arrow`: The arrowhead at an end of a connection that has one.
|
|
43525
43528
|
* - `board`: The plane the cards are placed on, which pans and zooms.
|
|
43526
|
-
* - `controls`: The
|
|
43529
|
+
* - `controls`: The toolbar the pan and zoom buttons sit in, one tab stop.
|
|
43527
43530
|
* - `draft`: The connection being drawn, before `helix-connect` is sent.
|
|
43528
43531
|
* - `edge`: One connector between two cards.
|
|
43529
43532
|
* - `edge-end`: An end of a selected connection. Drag it, or click it to pick it up.
|
|
@@ -43531,6 +43534,10 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
43531
43534
|
* - `edges`: A layer the connectors are drawn in: one holding the arrowhead, and one after each card holding the connections leaving it, so they are read in the order the arrows walk them. Give it `z-index: -1` to draw it under the cards.
|
|
43532
43535
|
* - `footer`: The strip below the board.
|
|
43533
43536
|
* - `fullscreen`: The button that makes the board fill the screen.
|
|
43537
|
+
* - `fullscreen-button`: `fullscreen`'s inner button.
|
|
43538
|
+
* - `fullscreen-live`: `fullscreen`'s live region, which speaks while it is pending.
|
|
43539
|
+
* - `fullscreen-spinner`: The ring `fullscreen` turns while it is pending.
|
|
43540
|
+
* - `fullscreen-text`: The box `fullscreen`'s glyph sits in.
|
|
43534
43541
|
* - `gesture-hint`: Words over the board for a moment when it lets a gesture pass to the page, such as how to zoom it.
|
|
43535
43542
|
* - `gesture-status`: The line shown while a board with `gestures="activate"` has the gestures.
|
|
43536
43543
|
* - `header`: The strip above the board.
|
|
@@ -43542,13 +43549,37 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
43542
43549
|
* - `minimap-node`: One card in the minimap.
|
|
43543
43550
|
* - `minimap-view`: The frame in the minimap around what is on screen.
|
|
43544
43551
|
* - `pan-down`: The button that moves the board down.
|
|
43552
|
+
* - `pan-down-button`: `pan-down`'s inner button.
|
|
43553
|
+
* - `pan-down-live`: `pan-down`'s live region, which speaks while it is pending.
|
|
43554
|
+
* - `pan-down-spinner`: The ring `pan-down` turns while it is pending.
|
|
43555
|
+
* - `pan-down-text`: The box `pan-down`'s glyph sits in.
|
|
43545
43556
|
* - `pan-end`: The button that moves the board toward the end of a line of text: right in English.
|
|
43557
|
+
* - `pan-end-button`: `pan-end`'s inner button.
|
|
43558
|
+
* - `pan-end-live`: `pan-end`'s live region, which speaks while it is pending.
|
|
43559
|
+
* - `pan-end-spinner`: The ring `pan-end` turns while it is pending.
|
|
43560
|
+
* - `pan-end-text`: The box `pan-end`'s glyph sits in.
|
|
43546
43561
|
* - `pan-start`: The button that moves the board toward the start of a line of text: left in English.
|
|
43562
|
+
* - `pan-start-button`: `pan-start`'s inner button.
|
|
43563
|
+
* - `pan-start-live`: `pan-start`'s live region, which speaks while it is pending.
|
|
43564
|
+
* - `pan-start-spinner`: The ring `pan-start` turns while it is pending.
|
|
43565
|
+
* - `pan-start-text`: The box `pan-start`'s glyph sits in.
|
|
43547
43566
|
* - `pan-up`: The button that moves the board up.
|
|
43567
|
+
* - `pan-up-button`: `pan-up`'s inner button.
|
|
43568
|
+
* - `pan-up-live`: `pan-up`'s live region, which speaks while it is pending.
|
|
43569
|
+
* - `pan-up-spinner`: The ring `pan-up` turns while it is pending.
|
|
43570
|
+
* - `pan-up-text`: The box `pan-up`'s glyph sits in.
|
|
43548
43571
|
* - `region`: The named region the board is drawn in.
|
|
43549
43572
|
* - `viewport`: The box the board is drawn inside.
|
|
43550
43573
|
* - `zoom-in`: The button that zooms in.
|
|
43574
|
+
* - `zoom-in-button`: `zoom-in`'s inner button.
|
|
43575
|
+
* - `zoom-in-live`: `zoom-in`'s live region, which speaks while it is pending.
|
|
43576
|
+
* - `zoom-in-spinner`: The ring `zoom-in` turns while it is pending.
|
|
43577
|
+
* - `zoom-in-text`: The box `zoom-in`'s glyph sits in.
|
|
43551
43578
|
* - `zoom-out`: The button that zooms out.
|
|
43579
|
+
* - `zoom-out-button`: `zoom-out`'s inner button.
|
|
43580
|
+
* - `zoom-out-live`: `zoom-out`'s live region, which speaks while it is pending.
|
|
43581
|
+
* - `zoom-out-spinner`: The ring `zoom-out` turns while it is pending.
|
|
43582
|
+
* - `zoom-out-text`: The box `zoom-out`'s glyph sits in.
|
|
43552
43583
|
*
|
|
43553
43584
|
* ## CSS States
|
|
43554
43585
|
*
|
|
@@ -51622,7 +51653,9 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
51622
51653
|
* or hides its notes. `hiddenGroups` holds the groups turned off, and the
|
|
51623
51654
|
* list holds only what the drawing shows. The legend is a toolbar and one tab
|
|
51624
51655
|
* stop: the arrow keys, Home, End and a group's first letters move between
|
|
51625
|
-
* its buttons, and Space or Enter presses one.
|
|
51656
|
+
* its buttons, and Space or Enter presses one. The pan and zoom buttons are
|
|
51657
|
+
* a toolbar and one tab stop too, the arrow keys moving between them by where
|
|
51658
|
+
* they sit on screen.
|
|
51626
51659
|
*
|
|
51627
51660
|
* `nodes` and `links` are properties, never markup: a graph of ten thousand
|
|
51628
51661
|
* notes as ten thousand elements would cost what the renderer exists to save.
|
|
@@ -51896,13 +51929,17 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
51896
51929
|
* - `after`: The room the notes after those drawn would take, so the list scrolls its whole length.
|
|
51897
51930
|
* - `before`: The room the notes before those drawn would take.
|
|
51898
51931
|
* - `body`: The drawing beside the list, or above it where the frame is narrow.
|
|
51899
|
-
* - `controls`: The
|
|
51932
|
+
* - `controls`: The toolbar the pan and zoom buttons sit in, one tab stop.
|
|
51900
51933
|
* - `count`: How many notes the list holds, which a search narrows, at the end of the search bar.
|
|
51901
51934
|
* - `empty`: The box in place of the list when it holds no notes, holding the `empty` slot.
|
|
51902
51935
|
* - `filter-icon`: The icon beside the search field.
|
|
51903
51936
|
* - `filter-mark`: The default icon beside the search field, shown when none is slotted.
|
|
51904
51937
|
* - `footer`: The strip below the graph.
|
|
51905
51938
|
* - `fullscreen`: The button that makes the graph fill the screen.
|
|
51939
|
+
* - `fullscreen-button`: `fullscreen`'s inner button.
|
|
51940
|
+
* - `fullscreen-live`: `fullscreen`'s live region, which speaks while it is pending.
|
|
51941
|
+
* - `fullscreen-spinner`: The ring `fullscreen` turns while it is pending.
|
|
51942
|
+
* - `fullscreen-text`: The box `fullscreen`'s glyph sits in.
|
|
51906
51943
|
* - `gesture-hint`: Words over the graph for a moment when it lets a gesture pass to the page, such as how to zoom it.
|
|
51907
51944
|
* - `gesture-status`: The line shown while a graph with `gestures="activate"` has the gestures.
|
|
51908
51945
|
* - `header`: The strip above the graph.
|
|
@@ -51920,10 +51957,30 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
51920
51957
|
* - `note-relation`: How a note stands to the selected one, such as "Linked from Alpha".
|
|
51921
51958
|
* - `note-selected`: The selected note, first in the list.
|
|
51922
51959
|
* - `notes-toggle`: The button among the controls that opens the search and the list over the drawing, with `no-panel`.
|
|
51960
|
+
* - `notes-toggle-button`: `notes-toggle`'s inner button.
|
|
51961
|
+
* - `notes-toggle-live`: `notes-toggle`'s live region, which speaks while it is pending.
|
|
51962
|
+
* - `notes-toggle-spinner`: The ring `notes-toggle` turns while it is pending.
|
|
51963
|
+
* - `notes-toggle-text`: The box `notes-toggle`'s glyph sits in.
|
|
51923
51964
|
* - `pan-down`: The button that moves the graph down.
|
|
51965
|
+
* - `pan-down-button`: `pan-down`'s inner button.
|
|
51966
|
+
* - `pan-down-live`: `pan-down`'s live region, which speaks while it is pending.
|
|
51967
|
+
* - `pan-down-spinner`: The ring `pan-down` turns while it is pending.
|
|
51968
|
+
* - `pan-down-text`: The box `pan-down`'s glyph sits in.
|
|
51924
51969
|
* - `pan-end`: The button that moves the graph toward the end of a line of text: right in English.
|
|
51970
|
+
* - `pan-end-button`: `pan-end`'s inner button.
|
|
51971
|
+
* - `pan-end-live`: `pan-end`'s live region, which speaks while it is pending.
|
|
51972
|
+
* - `pan-end-spinner`: The ring `pan-end` turns while it is pending.
|
|
51973
|
+
* - `pan-end-text`: The box `pan-end`'s glyph sits in.
|
|
51925
51974
|
* - `pan-start`: The button that moves the graph toward the start of a line of text: left in English.
|
|
51975
|
+
* - `pan-start-button`: `pan-start`'s inner button.
|
|
51976
|
+
* - `pan-start-live`: `pan-start`'s live region, which speaks while it is pending.
|
|
51977
|
+
* - `pan-start-spinner`: The ring `pan-start` turns while it is pending.
|
|
51978
|
+
* - `pan-start-text`: The box `pan-start`'s glyph sits in.
|
|
51926
51979
|
* - `pan-up`: The button that moves the graph up.
|
|
51980
|
+
* - `pan-up-button`: `pan-up`'s inner button.
|
|
51981
|
+
* - `pan-up-live`: `pan-up`'s live region, which speaks while it is pending.
|
|
51982
|
+
* - `pan-up-spinner`: The ring `pan-up` turns while it is pending.
|
|
51983
|
+
* - `pan-up-text`: The box `pan-up`'s glyph sits in.
|
|
51927
51984
|
* - `panel`: The search field and the list, beside the drawing or below it, or over the drawing when opened with `no-panel`.
|
|
51928
51985
|
* - `region`: The frame: the drawing, its controls and the list.
|
|
51929
51986
|
* - `search`: The bar holding the icon, the search field and the count.
|
|
@@ -51933,7 +51990,15 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
51933
51990
|
* - `stop-layout`: The button that stops a layout that has run past five seconds, where the notes stand.
|
|
51934
51991
|
* - `viewport`: The box the renderer draws in.
|
|
51935
51992
|
* - `zoom-in`: The zoom in button.
|
|
51993
|
+
* - `zoom-in-button`: `zoom-in`'s inner button.
|
|
51994
|
+
* - `zoom-in-live`: `zoom-in`'s live region, which speaks while it is pending.
|
|
51995
|
+
* - `zoom-in-spinner`: The ring `zoom-in` turns while it is pending.
|
|
51996
|
+
* - `zoom-in-text`: The box `zoom-in`'s glyph sits in.
|
|
51936
51997
|
* - `zoom-out`: The zoom out button.
|
|
51998
|
+
* - `zoom-out-button`: `zoom-out`'s inner button.
|
|
51999
|
+
* - `zoom-out-live`: `zoom-out`'s live region, which speaks while it is pending.
|
|
52000
|
+
* - `zoom-out-spinner`: The ring `zoom-out` turns while it is pending.
|
|
52001
|
+
* - `zoom-out-text`: The box `zoom-out`'s glyph sits in.
|
|
51937
52002
|
*
|
|
51938
52003
|
* ## CSS States
|
|
51939
52004
|
*
|
|
@@ -56275,7 +56340,9 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
56275
56340
|
* map. Dragging is otherwise the only way a pointer moves the map, so add them
|
|
56276
56341
|
* where the map has to be usable without dragging, as WCAG 2.2 asks at level
|
|
56277
56342
|
* AA. The arrow keys pan the map and Shift with Left or Right turns it either
|
|
56278
|
-
* way.
|
|
56343
|
+
* way. The buttons are a toolbar and one tab stop: on them, the arrow keys
|
|
56344
|
+
* move between the buttons by where they sit, and Shift with an arrow still
|
|
56345
|
+
* turns or tilts the map.
|
|
56279
56346
|
*
|
|
56280
56347
|
* The pan and zoom buttons and the arrow keys send `helix-map-pan` and
|
|
56281
56348
|
* `helix-map-zoom`. Move your map in response, or connect it with
|
|
@@ -56546,10 +56613,18 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
56546
56613
|
*
|
|
56547
56614
|
* - `attribution`: The strip under the map that holds the credit.
|
|
56548
56615
|
* - `compass`: The compass and the pan and rotate buttons around it.
|
|
56549
|
-
* - `controls`: The column of buttons that move the map.
|
|
56616
|
+
* - `controls`: The column of buttons that move the map, a toolbar and one tab stop.
|
|
56550
56617
|
* - `face-north`: The compass: its needle points north as the map turns, and pressing it turns the map to face north.
|
|
56618
|
+
* - `face-north-button`: `face-north`'s inner button.
|
|
56619
|
+
* - `face-north-live`: `face-north`'s live region, which speaks while it is pending.
|
|
56620
|
+
* - `face-north-spinner`: The ring `face-north` turns while it is pending.
|
|
56621
|
+
* - `face-north-text`: The box `face-north`'s glyph sits in.
|
|
56551
56622
|
* - `footer`: The strip below the map.
|
|
56552
56623
|
* - `fullscreen`: The button that makes the map fill the screen.
|
|
56624
|
+
* - `fullscreen-button`: `fullscreen`'s inner button.
|
|
56625
|
+
* - `fullscreen-live`: `fullscreen`'s live region, which speaks while it is pending.
|
|
56626
|
+
* - `fullscreen-spinner`: The ring `fullscreen` turns while it is pending.
|
|
56627
|
+
* - `fullscreen-text`: The box `fullscreen`'s glyph sits in.
|
|
56553
56628
|
* - `gesture-hint`: Words over the map for a moment when it lets a gesture pass to the page, such as how to zoom it.
|
|
56554
56629
|
* - `gesture-status`: The line shown while a map with `gestures="activate"` has the gestures.
|
|
56555
56630
|
* - `header`: The strip above the map.
|
|
@@ -56561,6 +56636,10 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
56561
56636
|
* - `layers`: The list of the map's shown layers, such as routes, areas, and points, read by screen readers.
|
|
56562
56637
|
* - `layers-menu`: The menu of the map's layers, which the layers button opens.
|
|
56563
56638
|
* - `layers-toggle`: The button that opens and closes the layers menu.
|
|
56639
|
+
* - `layers-toggle-button`: `layers-toggle`'s inner button.
|
|
56640
|
+
* - `layers-toggle-live`: `layers-toggle`'s live region, which speaks while it is pending.
|
|
56641
|
+
* - `layers-toggle-spinner`: The ring `layers-toggle` turns while it is pending.
|
|
56642
|
+
* - `layers-toggle-text`: The box `layers-toggle`'s glyph sits in.
|
|
56564
56643
|
* - `live`: What screen readers hear after the map moves: the zoom level, the way it faces, its tilt, or the way it moved. Visually hidden in the styled tier.
|
|
56565
56644
|
* - `map-type`: One map type's card in the layers menu: a radio button, its picture, and its name.
|
|
56566
56645
|
* - `map-type-name`: The name on a map type's card.
|
|
@@ -56568,16 +56647,52 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
56568
56647
|
* - `map-types`: The map-type cards at the top of the layers menu, where the map has imagery.
|
|
56569
56648
|
* - `needle`: The compass needle, turned to point north.
|
|
56570
56649
|
* - `pan-down`: The button that pans the map down.
|
|
56650
|
+
* - `pan-down-button`: `pan-down`'s inner button.
|
|
56651
|
+
* - `pan-down-live`: `pan-down`'s live region, which speaks while it is pending.
|
|
56652
|
+
* - `pan-down-spinner`: The ring `pan-down` turns while it is pending.
|
|
56653
|
+
* - `pan-down-text`: The box `pan-down`'s glyph sits in.
|
|
56571
56654
|
* - `pan-end`: The button that pans toward the end of a line of text: right in English.
|
|
56655
|
+
* - `pan-end-button`: `pan-end`'s inner button.
|
|
56656
|
+
* - `pan-end-live`: `pan-end`'s live region, which speaks while it is pending.
|
|
56657
|
+
* - `pan-end-spinner`: The ring `pan-end` turns while it is pending.
|
|
56658
|
+
* - `pan-end-text`: The box `pan-end`'s glyph sits in.
|
|
56572
56659
|
* - `pan-start`: The button that pans toward the start of a line of text: left in English.
|
|
56660
|
+
* - `pan-start-button`: `pan-start`'s inner button.
|
|
56661
|
+
* - `pan-start-live`: `pan-start`'s live region, which speaks while it is pending.
|
|
56662
|
+
* - `pan-start-spinner`: The ring `pan-start` turns while it is pending.
|
|
56663
|
+
* - `pan-start-text`: The box `pan-start`'s glyph sits in.
|
|
56573
56664
|
* - `pan-up`: The button that pans the map up.
|
|
56665
|
+
* - `pan-up-button`: `pan-up`'s inner button.
|
|
56666
|
+
* - `pan-up-live`: `pan-up`'s live region, which speaks while it is pending.
|
|
56667
|
+
* - `pan-up-spinner`: The ring `pan-up` turns while it is pending.
|
|
56668
|
+
* - `pan-up-text`: The box `pan-up`'s glyph sits in.
|
|
56574
56669
|
* - `region`: The named region the map sits in.
|
|
56575
56670
|
* - `rotate-left`: The button that turns the map counterclockwise.
|
|
56671
|
+
* - `rotate-left-button`: `rotate-left`'s inner button.
|
|
56672
|
+
* - `rotate-left-live`: `rotate-left`'s live region, which speaks while it is pending.
|
|
56673
|
+
* - `rotate-left-spinner`: The ring `rotate-left` turns while it is pending.
|
|
56674
|
+
* - `rotate-left-text`: The box `rotate-left`'s glyph sits in.
|
|
56576
56675
|
* - `rotate-right`: The button that turns the map clockwise.
|
|
56676
|
+
* - `rotate-right-button`: `rotate-right`'s inner button.
|
|
56677
|
+
* - `rotate-right-live`: `rotate-right`'s live region, which speaks while it is pending.
|
|
56678
|
+
* - `rotate-right-spinner`: The ring `rotate-right` turns while it is pending.
|
|
56679
|
+
* - `rotate-right-text`: The box `rotate-right`'s glyph sits in.
|
|
56577
56680
|
* - `tilt`: The 3D button, which tilts the map and makes it flat again. Pressed while the map is tilted.
|
|
56681
|
+
* - `tilt-button`: `tilt`'s inner button.
|
|
56682
|
+
* - `tilt-live`: `tilt`'s live region, which speaks while it is pending.
|
|
56683
|
+
* - `tilt-spinner`: The ring `tilt` turns while it is pending.
|
|
56684
|
+
* - `tilt-text`: The box `tilt`'s glyph sits in.
|
|
56578
56685
|
* - `viewport`: The box the map is drawn in.
|
|
56579
56686
|
* - `zoom-in`: The button that zooms in.
|
|
56687
|
+
* - `zoom-in-button`: `zoom-in`'s inner button.
|
|
56688
|
+
* - `zoom-in-live`: `zoom-in`'s live region, which speaks while it is pending.
|
|
56689
|
+
* - `zoom-in-spinner`: The ring `zoom-in` turns while it is pending.
|
|
56690
|
+
* - `zoom-in-text`: The box `zoom-in`'s glyph sits in.
|
|
56580
56691
|
* - `zoom-out`: The button that zooms out.
|
|
56692
|
+
* - `zoom-out-button`: `zoom-out`'s inner button.
|
|
56693
|
+
* - `zoom-out-live`: `zoom-out`'s live region, which speaks while it is pending.
|
|
56694
|
+
* - `zoom-out-spinner`: The ring `zoom-out` turns while it is pending.
|
|
56695
|
+
* - `zoom-out-text`: The box `zoom-out`'s glyph sits in.
|
|
56581
56696
|
*
|
|
56582
56697
|
* ## CSS States
|
|
56583
56698
|
*
|
|
@@ -75778,6 +75893,9 @@ export type CustomElementsSolidJs = {
|
|
|
75778
75893
|
* board, where the arrow keys pan it.
|
|
75779
75894
|
* - Plus and minus zoom the board, on the board and on a card or a
|
|
75780
75895
|
* connection.
|
|
75896
|
+
* - The pan and zoom buttons are a toolbar and one tab stop. The arrow keys
|
|
75897
|
+
* move between them by where they sit, Right from the up arrow to zoom in,
|
|
75898
|
+
* and Enter or Space presses one.
|
|
75781
75899
|
* - The arrow keys move through the cards in reading order. The card you land
|
|
75782
75900
|
* on scrolls into view, and its connections are announced with it.
|
|
75783
75901
|
* - The card you land on is selected. Control or Command with an arrow key,
|
|
@@ -76218,7 +76336,7 @@ export type CustomElementsSolidJs = {
|
|
|
76218
76336
|
*
|
|
76219
76337
|
* - `arrow`: The arrowhead at an end of a connection that has one.
|
|
76220
76338
|
* - `board`: The plane the cards are placed on, which pans and zooms.
|
|
76221
|
-
* - `controls`: The
|
|
76339
|
+
* - `controls`: The toolbar the pan and zoom buttons sit in, one tab stop.
|
|
76222
76340
|
* - `draft`: The connection being drawn, before `helix-connect` is sent.
|
|
76223
76341
|
* - `edge`: One connector between two cards.
|
|
76224
76342
|
* - `edge-end`: An end of a selected connection. Drag it, or click it to pick it up.
|
|
@@ -76226,6 +76344,10 @@ export type CustomElementsSolidJs = {
|
|
|
76226
76344
|
* - `edges`: A layer the connectors are drawn in: one holding the arrowhead, and one after each card holding the connections leaving it, so they are read in the order the arrows walk them. Give it `z-index: -1` to draw it under the cards.
|
|
76227
76345
|
* - `footer`: The strip below the board.
|
|
76228
76346
|
* - `fullscreen`: The button that makes the board fill the screen.
|
|
76347
|
+
* - `fullscreen-button`: `fullscreen`'s inner button.
|
|
76348
|
+
* - `fullscreen-live`: `fullscreen`'s live region, which speaks while it is pending.
|
|
76349
|
+
* - `fullscreen-spinner`: The ring `fullscreen` turns while it is pending.
|
|
76350
|
+
* - `fullscreen-text`: The box `fullscreen`'s glyph sits in.
|
|
76229
76351
|
* - `gesture-hint`: Words over the board for a moment when it lets a gesture pass to the page, such as how to zoom it.
|
|
76230
76352
|
* - `gesture-status`: The line shown while a board with `gestures="activate"` has the gestures.
|
|
76231
76353
|
* - `header`: The strip above the board.
|
|
@@ -76237,13 +76359,37 @@ export type CustomElementsSolidJs = {
|
|
|
76237
76359
|
* - `minimap-node`: One card in the minimap.
|
|
76238
76360
|
* - `minimap-view`: The frame in the minimap around what is on screen.
|
|
76239
76361
|
* - `pan-down`: The button that moves the board down.
|
|
76362
|
+
* - `pan-down-button`: `pan-down`'s inner button.
|
|
76363
|
+
* - `pan-down-live`: `pan-down`'s live region, which speaks while it is pending.
|
|
76364
|
+
* - `pan-down-spinner`: The ring `pan-down` turns while it is pending.
|
|
76365
|
+
* - `pan-down-text`: The box `pan-down`'s glyph sits in.
|
|
76240
76366
|
* - `pan-end`: The button that moves the board toward the end of a line of text: right in English.
|
|
76367
|
+
* - `pan-end-button`: `pan-end`'s inner button.
|
|
76368
|
+
* - `pan-end-live`: `pan-end`'s live region, which speaks while it is pending.
|
|
76369
|
+
* - `pan-end-spinner`: The ring `pan-end` turns while it is pending.
|
|
76370
|
+
* - `pan-end-text`: The box `pan-end`'s glyph sits in.
|
|
76241
76371
|
* - `pan-start`: The button that moves the board toward the start of a line of text: left in English.
|
|
76372
|
+
* - `pan-start-button`: `pan-start`'s inner button.
|
|
76373
|
+
* - `pan-start-live`: `pan-start`'s live region, which speaks while it is pending.
|
|
76374
|
+
* - `pan-start-spinner`: The ring `pan-start` turns while it is pending.
|
|
76375
|
+
* - `pan-start-text`: The box `pan-start`'s glyph sits in.
|
|
76242
76376
|
* - `pan-up`: The button that moves the board up.
|
|
76377
|
+
* - `pan-up-button`: `pan-up`'s inner button.
|
|
76378
|
+
* - `pan-up-live`: `pan-up`'s live region, which speaks while it is pending.
|
|
76379
|
+
* - `pan-up-spinner`: The ring `pan-up` turns while it is pending.
|
|
76380
|
+
* - `pan-up-text`: The box `pan-up`'s glyph sits in.
|
|
76243
76381
|
* - `region`: The named region the board is drawn in.
|
|
76244
76382
|
* - `viewport`: The box the board is drawn inside.
|
|
76245
76383
|
* - `zoom-in`: The button that zooms in.
|
|
76384
|
+
* - `zoom-in-button`: `zoom-in`'s inner button.
|
|
76385
|
+
* - `zoom-in-live`: `zoom-in`'s live region, which speaks while it is pending.
|
|
76386
|
+
* - `zoom-in-spinner`: The ring `zoom-in` turns while it is pending.
|
|
76387
|
+
* - `zoom-in-text`: The box `zoom-in`'s glyph sits in.
|
|
76246
76388
|
* - `zoom-out`: The button that zooms out.
|
|
76389
|
+
* - `zoom-out-button`: `zoom-out`'s inner button.
|
|
76390
|
+
* - `zoom-out-live`: `zoom-out`'s live region, which speaks while it is pending.
|
|
76391
|
+
* - `zoom-out-spinner`: The ring `zoom-out` turns while it is pending.
|
|
76392
|
+
* - `zoom-out-text`: The box `zoom-out`'s glyph sits in.
|
|
76247
76393
|
*
|
|
76248
76394
|
* ## CSS States
|
|
76249
76395
|
*
|
|
@@ -84385,7 +84531,9 @@ export type CustomElementsSolidJs = {
|
|
|
84385
84531
|
* or hides its notes. `hiddenGroups` holds the groups turned off, and the
|
|
84386
84532
|
* list holds only what the drawing shows. The legend is a toolbar and one tab
|
|
84387
84533
|
* stop: the arrow keys, Home, End and a group's first letters move between
|
|
84388
|
-
* its buttons, and Space or Enter presses one.
|
|
84534
|
+
* its buttons, and Space or Enter presses one. The pan and zoom buttons are
|
|
84535
|
+
* a toolbar and one tab stop too, the arrow keys moving between them by where
|
|
84536
|
+
* they sit on screen.
|
|
84389
84537
|
*
|
|
84390
84538
|
* `nodes` and `links` are properties, never markup: a graph of ten thousand
|
|
84391
84539
|
* notes as ten thousand elements would cost what the renderer exists to save.
|
|
@@ -84659,13 +84807,17 @@ export type CustomElementsSolidJs = {
|
|
|
84659
84807
|
* - `after`: The room the notes after those drawn would take, so the list scrolls its whole length.
|
|
84660
84808
|
* - `before`: The room the notes before those drawn would take.
|
|
84661
84809
|
* - `body`: The drawing beside the list, or above it where the frame is narrow.
|
|
84662
|
-
* - `controls`: The
|
|
84810
|
+
* - `controls`: The toolbar the pan and zoom buttons sit in, one tab stop.
|
|
84663
84811
|
* - `count`: How many notes the list holds, which a search narrows, at the end of the search bar.
|
|
84664
84812
|
* - `empty`: The box in place of the list when it holds no notes, holding the `empty` slot.
|
|
84665
84813
|
* - `filter-icon`: The icon beside the search field.
|
|
84666
84814
|
* - `filter-mark`: The default icon beside the search field, shown when none is slotted.
|
|
84667
84815
|
* - `footer`: The strip below the graph.
|
|
84668
84816
|
* - `fullscreen`: The button that makes the graph fill the screen.
|
|
84817
|
+
* - `fullscreen-button`: `fullscreen`'s inner button.
|
|
84818
|
+
* - `fullscreen-live`: `fullscreen`'s live region, which speaks while it is pending.
|
|
84819
|
+
* - `fullscreen-spinner`: The ring `fullscreen` turns while it is pending.
|
|
84820
|
+
* - `fullscreen-text`: The box `fullscreen`'s glyph sits in.
|
|
84669
84821
|
* - `gesture-hint`: Words over the graph for a moment when it lets a gesture pass to the page, such as how to zoom it.
|
|
84670
84822
|
* - `gesture-status`: The line shown while a graph with `gestures="activate"` has the gestures.
|
|
84671
84823
|
* - `header`: The strip above the graph.
|
|
@@ -84683,10 +84835,30 @@ export type CustomElementsSolidJs = {
|
|
|
84683
84835
|
* - `note-relation`: How a note stands to the selected one, such as "Linked from Alpha".
|
|
84684
84836
|
* - `note-selected`: The selected note, first in the list.
|
|
84685
84837
|
* - `notes-toggle`: The button among the controls that opens the search and the list over the drawing, with `no-panel`.
|
|
84838
|
+
* - `notes-toggle-button`: `notes-toggle`'s inner button.
|
|
84839
|
+
* - `notes-toggle-live`: `notes-toggle`'s live region, which speaks while it is pending.
|
|
84840
|
+
* - `notes-toggle-spinner`: The ring `notes-toggle` turns while it is pending.
|
|
84841
|
+
* - `notes-toggle-text`: The box `notes-toggle`'s glyph sits in.
|
|
84686
84842
|
* - `pan-down`: The button that moves the graph down.
|
|
84843
|
+
* - `pan-down-button`: `pan-down`'s inner button.
|
|
84844
|
+
* - `pan-down-live`: `pan-down`'s live region, which speaks while it is pending.
|
|
84845
|
+
* - `pan-down-spinner`: The ring `pan-down` turns while it is pending.
|
|
84846
|
+
* - `pan-down-text`: The box `pan-down`'s glyph sits in.
|
|
84687
84847
|
* - `pan-end`: The button that moves the graph toward the end of a line of text: right in English.
|
|
84848
|
+
* - `pan-end-button`: `pan-end`'s inner button.
|
|
84849
|
+
* - `pan-end-live`: `pan-end`'s live region, which speaks while it is pending.
|
|
84850
|
+
* - `pan-end-spinner`: The ring `pan-end` turns while it is pending.
|
|
84851
|
+
* - `pan-end-text`: The box `pan-end`'s glyph sits in.
|
|
84688
84852
|
* - `pan-start`: The button that moves the graph toward the start of a line of text: left in English.
|
|
84853
|
+
* - `pan-start-button`: `pan-start`'s inner button.
|
|
84854
|
+
* - `pan-start-live`: `pan-start`'s live region, which speaks while it is pending.
|
|
84855
|
+
* - `pan-start-spinner`: The ring `pan-start` turns while it is pending.
|
|
84856
|
+
* - `pan-start-text`: The box `pan-start`'s glyph sits in.
|
|
84689
84857
|
* - `pan-up`: The button that moves the graph up.
|
|
84858
|
+
* - `pan-up-button`: `pan-up`'s inner button.
|
|
84859
|
+
* - `pan-up-live`: `pan-up`'s live region, which speaks while it is pending.
|
|
84860
|
+
* - `pan-up-spinner`: The ring `pan-up` turns while it is pending.
|
|
84861
|
+
* - `pan-up-text`: The box `pan-up`'s glyph sits in.
|
|
84690
84862
|
* - `panel`: The search field and the list, beside the drawing or below it, or over the drawing when opened with `no-panel`.
|
|
84691
84863
|
* - `region`: The frame: the drawing, its controls and the list.
|
|
84692
84864
|
* - `search`: The bar holding the icon, the search field and the count.
|
|
@@ -84696,7 +84868,15 @@ export type CustomElementsSolidJs = {
|
|
|
84696
84868
|
* - `stop-layout`: The button that stops a layout that has run past five seconds, where the notes stand.
|
|
84697
84869
|
* - `viewport`: The box the renderer draws in.
|
|
84698
84870
|
* - `zoom-in`: The zoom in button.
|
|
84871
|
+
* - `zoom-in-button`: `zoom-in`'s inner button.
|
|
84872
|
+
* - `zoom-in-live`: `zoom-in`'s live region, which speaks while it is pending.
|
|
84873
|
+
* - `zoom-in-spinner`: The ring `zoom-in` turns while it is pending.
|
|
84874
|
+
* - `zoom-in-text`: The box `zoom-in`'s glyph sits in.
|
|
84699
84875
|
* - `zoom-out`: The zoom out button.
|
|
84876
|
+
* - `zoom-out-button`: `zoom-out`'s inner button.
|
|
84877
|
+
* - `zoom-out-live`: `zoom-out`'s live region, which speaks while it is pending.
|
|
84878
|
+
* - `zoom-out-spinner`: The ring `zoom-out` turns while it is pending.
|
|
84879
|
+
* - `zoom-out-text`: The box `zoom-out`'s glyph sits in.
|
|
84700
84880
|
*
|
|
84701
84881
|
* ## CSS States
|
|
84702
84882
|
*
|
|
@@ -89104,7 +89284,9 @@ export type CustomElementsSolidJs = {
|
|
|
89104
89284
|
* map. Dragging is otherwise the only way a pointer moves the map, so add them
|
|
89105
89285
|
* where the map has to be usable without dragging, as WCAG 2.2 asks at level
|
|
89106
89286
|
* AA. The arrow keys pan the map and Shift with Left or Right turns it either
|
|
89107
|
-
* way.
|
|
89287
|
+
* way. The buttons are a toolbar and one tab stop: on them, the arrow keys
|
|
89288
|
+
* move between the buttons by where they sit, and Shift with an arrow still
|
|
89289
|
+
* turns or tilts the map.
|
|
89108
89290
|
*
|
|
89109
89291
|
* The pan and zoom buttons and the arrow keys send `helix-map-pan` and
|
|
89110
89292
|
* `helix-map-zoom`. Move your map in response, or connect it with
|
|
@@ -89375,10 +89557,18 @@ export type CustomElementsSolidJs = {
|
|
|
89375
89557
|
*
|
|
89376
89558
|
* - `attribution`: The strip under the map that holds the credit.
|
|
89377
89559
|
* - `compass`: The compass and the pan and rotate buttons around it.
|
|
89378
|
-
* - `controls`: The column of buttons that move the map.
|
|
89560
|
+
* - `controls`: The column of buttons that move the map, a toolbar and one tab stop.
|
|
89379
89561
|
* - `face-north`: The compass: its needle points north as the map turns, and pressing it turns the map to face north.
|
|
89562
|
+
* - `face-north-button`: `face-north`'s inner button.
|
|
89563
|
+
* - `face-north-live`: `face-north`'s live region, which speaks while it is pending.
|
|
89564
|
+
* - `face-north-spinner`: The ring `face-north` turns while it is pending.
|
|
89565
|
+
* - `face-north-text`: The box `face-north`'s glyph sits in.
|
|
89380
89566
|
* - `footer`: The strip below the map.
|
|
89381
89567
|
* - `fullscreen`: The button that makes the map fill the screen.
|
|
89568
|
+
* - `fullscreen-button`: `fullscreen`'s inner button.
|
|
89569
|
+
* - `fullscreen-live`: `fullscreen`'s live region, which speaks while it is pending.
|
|
89570
|
+
* - `fullscreen-spinner`: The ring `fullscreen` turns while it is pending.
|
|
89571
|
+
* - `fullscreen-text`: The box `fullscreen`'s glyph sits in.
|
|
89382
89572
|
* - `gesture-hint`: Words over the map for a moment when it lets a gesture pass to the page, such as how to zoom it.
|
|
89383
89573
|
* - `gesture-status`: The line shown while a map with `gestures="activate"` has the gestures.
|
|
89384
89574
|
* - `header`: The strip above the map.
|
|
@@ -89390,6 +89580,10 @@ export type CustomElementsSolidJs = {
|
|
|
89390
89580
|
* - `layers`: The list of the map's shown layers, such as routes, areas, and points, read by screen readers.
|
|
89391
89581
|
* - `layers-menu`: The menu of the map's layers, which the layers button opens.
|
|
89392
89582
|
* - `layers-toggle`: The button that opens and closes the layers menu.
|
|
89583
|
+
* - `layers-toggle-button`: `layers-toggle`'s inner button.
|
|
89584
|
+
* - `layers-toggle-live`: `layers-toggle`'s live region, which speaks while it is pending.
|
|
89585
|
+
* - `layers-toggle-spinner`: The ring `layers-toggle` turns while it is pending.
|
|
89586
|
+
* - `layers-toggle-text`: The box `layers-toggle`'s glyph sits in.
|
|
89393
89587
|
* - `live`: What screen readers hear after the map moves: the zoom level, the way it faces, its tilt, or the way it moved. Visually hidden in the styled tier.
|
|
89394
89588
|
* - `map-type`: One map type's card in the layers menu: a radio button, its picture, and its name.
|
|
89395
89589
|
* - `map-type-name`: The name on a map type's card.
|
|
@@ -89397,16 +89591,52 @@ export type CustomElementsSolidJs = {
|
|
|
89397
89591
|
* - `map-types`: The map-type cards at the top of the layers menu, where the map has imagery.
|
|
89398
89592
|
* - `needle`: The compass needle, turned to point north.
|
|
89399
89593
|
* - `pan-down`: The button that pans the map down.
|
|
89594
|
+
* - `pan-down-button`: `pan-down`'s inner button.
|
|
89595
|
+
* - `pan-down-live`: `pan-down`'s live region, which speaks while it is pending.
|
|
89596
|
+
* - `pan-down-spinner`: The ring `pan-down` turns while it is pending.
|
|
89597
|
+
* - `pan-down-text`: The box `pan-down`'s glyph sits in.
|
|
89400
89598
|
* - `pan-end`: The button that pans toward the end of a line of text: right in English.
|
|
89599
|
+
* - `pan-end-button`: `pan-end`'s inner button.
|
|
89600
|
+
* - `pan-end-live`: `pan-end`'s live region, which speaks while it is pending.
|
|
89601
|
+
* - `pan-end-spinner`: The ring `pan-end` turns while it is pending.
|
|
89602
|
+
* - `pan-end-text`: The box `pan-end`'s glyph sits in.
|
|
89401
89603
|
* - `pan-start`: The button that pans toward the start of a line of text: left in English.
|
|
89604
|
+
* - `pan-start-button`: `pan-start`'s inner button.
|
|
89605
|
+
* - `pan-start-live`: `pan-start`'s live region, which speaks while it is pending.
|
|
89606
|
+
* - `pan-start-spinner`: The ring `pan-start` turns while it is pending.
|
|
89607
|
+
* - `pan-start-text`: The box `pan-start`'s glyph sits in.
|
|
89402
89608
|
* - `pan-up`: The button that pans the map up.
|
|
89609
|
+
* - `pan-up-button`: `pan-up`'s inner button.
|
|
89610
|
+
* - `pan-up-live`: `pan-up`'s live region, which speaks while it is pending.
|
|
89611
|
+
* - `pan-up-spinner`: The ring `pan-up` turns while it is pending.
|
|
89612
|
+
* - `pan-up-text`: The box `pan-up`'s glyph sits in.
|
|
89403
89613
|
* - `region`: The named region the map sits in.
|
|
89404
89614
|
* - `rotate-left`: The button that turns the map counterclockwise.
|
|
89615
|
+
* - `rotate-left-button`: `rotate-left`'s inner button.
|
|
89616
|
+
* - `rotate-left-live`: `rotate-left`'s live region, which speaks while it is pending.
|
|
89617
|
+
* - `rotate-left-spinner`: The ring `rotate-left` turns while it is pending.
|
|
89618
|
+
* - `rotate-left-text`: The box `rotate-left`'s glyph sits in.
|
|
89405
89619
|
* - `rotate-right`: The button that turns the map clockwise.
|
|
89620
|
+
* - `rotate-right-button`: `rotate-right`'s inner button.
|
|
89621
|
+
* - `rotate-right-live`: `rotate-right`'s live region, which speaks while it is pending.
|
|
89622
|
+
* - `rotate-right-spinner`: The ring `rotate-right` turns while it is pending.
|
|
89623
|
+
* - `rotate-right-text`: The box `rotate-right`'s glyph sits in.
|
|
89406
89624
|
* - `tilt`: The 3D button, which tilts the map and makes it flat again. Pressed while the map is tilted.
|
|
89625
|
+
* - `tilt-button`: `tilt`'s inner button.
|
|
89626
|
+
* - `tilt-live`: `tilt`'s live region, which speaks while it is pending.
|
|
89627
|
+
* - `tilt-spinner`: The ring `tilt` turns while it is pending.
|
|
89628
|
+
* - `tilt-text`: The box `tilt`'s glyph sits in.
|
|
89407
89629
|
* - `viewport`: The box the map is drawn in.
|
|
89408
89630
|
* - `zoom-in`: The button that zooms in.
|
|
89631
|
+
* - `zoom-in-button`: `zoom-in`'s inner button.
|
|
89632
|
+
* - `zoom-in-live`: `zoom-in`'s live region, which speaks while it is pending.
|
|
89633
|
+
* - `zoom-in-spinner`: The ring `zoom-in` turns while it is pending.
|
|
89634
|
+
* - `zoom-in-text`: The box `zoom-in`'s glyph sits in.
|
|
89409
89635
|
* - `zoom-out`: The button that zooms out.
|
|
89636
|
+
* - `zoom-out-button`: `zoom-out`'s inner button.
|
|
89637
|
+
* - `zoom-out-live`: `zoom-out`'s live region, which speaks while it is pending.
|
|
89638
|
+
* - `zoom-out-spinner`: The ring `zoom-out` turns while it is pending.
|
|
89639
|
+
* - `zoom-out-text`: The box `zoom-out`'s glyph sits in.
|
|
89410
89640
|
*
|
|
89411
89641
|
* ## CSS States
|
|
89412
89642
|
*
|
package/types/vue.d.ts
CHANGED
|
@@ -20949,7 +20949,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
20949
20949
|
HelixHeadlessCanvasNodeVueProps,
|
|
20950
20950
|
HelixHeadlessCanvasNodeVueEvents
|
|
20951
20951
|
>;
|
|
20952
|
-
/** A board of cards and connectors, drawn by Helix. On a canvas every position is data that someone placed, so drawing is arithmetic over rectangles with no layout to compute. 'Map' takes a slotted map, because another renderer draws its tiles. The format is [JSON Canvas](https://jsoncanvas.org), an open format. Each node has an 'x', 'y', 'width', 'height', and a type. Each edge names the two nodes it joins and the sides it leaves and arrives on. A card belongs to a group when it sits inside the group's bounds. The cards are text in the DOM, so a screen reader can read them. The family adds a reading order and states each card's connections as text. 'order' sets the reading order: - 'spatial' bands the cards into rows. - 'edges' follows the arrows, starting from the cards that nothing points to. **Cards move by default.** The board writes the new 'x' and 'y' onto the card, the way an input writes its own value, and dispatches two events: - 'helix-before-move' for every step. Cancel it to hold the positions in your own state and apply them yourself. - 'helix-move' once the move is finished. A resize dispatches the same pair with a size. Set 'readonly' on the board to keep every card in place, such as on a published board. Set 'readonly' on one card or connection to keep only that one in place. Set 'snap' to a length in the document's units, such as '32', and a card that is moved or resized lands on a multiple of it. Carrying a card, a corner, a connection, or the selection box near the edge of the board moves the board under it, so a card can be taken to a place off screen in one drag. A connection let go within 20 pixels of a card arrives at it. A double click on the empty board zooms in about that point, and Shift with a double click zooms out. Keyboard behavior: - One card holds the board's tab stop, and the board itself leaves the tab order while a card can hold it. Escape on a card goes back out to the board, where the arrow keys pan it. - Plus and minus zoom the board, on the board and on a card or a connection. - The arrow keys move through the cards in reading order. The card you land on scrolls into view, and its connections are announced with it. - The card you land on is selected. Control or Command with an arrow key, Home, or End moves without changing the selection, and Space adds the card to the selection or takes it out, so you can select cards that are not next to each other. - Shift with an arrow key moves the card: by 16 units, or to the next multiple of 'snap' where it is set. Alt with an arrow key resizes it from its bottom right corner the same way. - The connections leaving a card are stops of their own, straight after it. Enter on one moves to the card it arrives at. - What a key changes that a reader cannot see is said: where a card moved to, its new size, how many cards are selected, and the zoom. A selected card or connection says so when a reader arrives on it. - Control or Command with C copies the selected cards, and the connections between them, as a JSON Canvas document in text, which another board or an app that reads the format takes. - Control or Command with V pastes a JSON Canvas document: the board adds its cards and connections, a step down and to the right of any card they would sit on, and selects them. It asks with 'helix-before-paste' first. A page that renders its cards from its own state cancels it and adds the detail's document to that state, through 'fromJsonCanvas'. 'paste()' does the same from a script. - Control or Command with Z undoes the last move or resize the board made, and with Shift, or Control with Y, makes it again. 'undo()' and 'redo()' do the same from a script. Each asks with 'helix-before-move' and tells with 'helix-move', as a move does, so a board that holds its positions in your state is undone through your state. **'arrange()' moves every card so that none overlaps another**, in layers that follow the arrows, or in a grid on a board with no connections. The cards glide for as long as the board's own transition, and 'undo()' puts them back. Every drag also works with clicks, as WCAG 2.5.7 requires for a pointer that cannot hold a button down. Click a selected card's move handle, a corner, a card's connection point, or the end of a selected connection to pick it up. It follows the pointer with no button held, and the next click puts it down where a drag would have. On touch, the next tap sets where it lands. Escape, or a press outside the board, puts it back. So a finger connects two cards with three taps: the card, one of its points, and the card to connect to. Connecting and removing dispatch requests, and your code applies them: - Drawing from a card's handle to another card, or pressing C on one card and Enter on another, dispatches 'helix-connect'. - Delete on a card or a connection dispatches 'helix-remove'. The event names every connection that removing the card would leave without an end. Once your page removes what Delete asked for, focus moves to the next stop, to the one before where it was the last, and to the board where none is left. A focused card your page removes for its own reasons hands focus on the same way, unless the reader has already moved focus somewhere else. The board applies a move itself, because the card already exists. A connection is a new element, and React discards an element the board adds to its markup on the next render, so you write the connection. **'edgeRoute' draws the connections' lines your own way**: a function from where a line leaves and arrives, and the sides it does, to its SVG path, for a route such as one that bends around the cards between. What it returns is the line drawn, the line pressed and focused, and the one an arrowhead sits at the end of. Nothing back draws the board's own. Add 'minimap' to 'controls' for a picture of the whole board in a corner: each card as a box, and a frame around what is on screen. A press or a drag on it brings that place to the middle of the view. It is for a pointer, and a screen reader skips it: the arrow keys and 'show()' reach every card. Cards and connections are 'helix-canvas-node' and 'helix-canvas-edge' elements, so they are in the served markup whichever renderer wrote them. The library fetches nothing, and an array passed to an element is missing from the first paint of a server-rendered React page. 'fromJsonCanvas' turns a JSON Canvas document into their props, and 'toJsonCanvas()' writes a board back out. */
|
|
20952
|
+
/** A board of cards and connectors, drawn by Helix. On a canvas every position is data that someone placed, so drawing is arithmetic over rectangles with no layout to compute. 'Map' takes a slotted map, because another renderer draws its tiles. The format is [JSON Canvas](https://jsoncanvas.org), an open format. Each node has an 'x', 'y', 'width', 'height', and a type. Each edge names the two nodes it joins and the sides it leaves and arrives on. A card belongs to a group when it sits inside the group's bounds. The cards are text in the DOM, so a screen reader can read them. The family adds a reading order and states each card's connections as text. 'order' sets the reading order: - 'spatial' bands the cards into rows. - 'edges' follows the arrows, starting from the cards that nothing points to. **Cards move by default.** The board writes the new 'x' and 'y' onto the card, the way an input writes its own value, and dispatches two events: - 'helix-before-move' for every step. Cancel it to hold the positions in your own state and apply them yourself. - 'helix-move' once the move is finished. A resize dispatches the same pair with a size. Set 'readonly' on the board to keep every card in place, such as on a published board. Set 'readonly' on one card or connection to keep only that one in place. Set 'snap' to a length in the document's units, such as '32', and a card that is moved or resized lands on a multiple of it. Carrying a card, a corner, a connection, or the selection box near the edge of the board moves the board under it, so a card can be taken to a place off screen in one drag. A connection let go within 20 pixels of a card arrives at it. A double click on the empty board zooms in about that point, and Shift with a double click zooms out. Keyboard behavior: - One card holds the board's tab stop, and the board itself leaves the tab order while a card can hold it. Escape on a card goes back out to the board, where the arrow keys pan it. - Plus and minus zoom the board, on the board and on a card or a connection. - The pan and zoom buttons are a toolbar and one tab stop. The arrow keys move between them by where they sit, Right from the up arrow to zoom in, and Enter or Space presses one. - The arrow keys move through the cards in reading order. The card you land on scrolls into view, and its connections are announced with it. - The card you land on is selected. Control or Command with an arrow key, Home, or End moves without changing the selection, and Space adds the card to the selection or takes it out, so you can select cards that are not next to each other. - Shift with an arrow key moves the card: by 16 units, or to the next multiple of 'snap' where it is set. Alt with an arrow key resizes it from its bottom right corner the same way. - The connections leaving a card are stops of their own, straight after it. Enter on one moves to the card it arrives at. - What a key changes that a reader cannot see is said: where a card moved to, its new size, how many cards are selected, and the zoom. A selected card or connection says so when a reader arrives on it. - Control or Command with C copies the selected cards, and the connections between them, as a JSON Canvas document in text, which another board or an app that reads the format takes. - Control or Command with V pastes a JSON Canvas document: the board adds its cards and connections, a step down and to the right of any card they would sit on, and selects them. It asks with 'helix-before-paste' first. A page that renders its cards from its own state cancels it and adds the detail's document to that state, through 'fromJsonCanvas'. 'paste()' does the same from a script. - Control or Command with Z undoes the last move or resize the board made, and with Shift, or Control with Y, makes it again. 'undo()' and 'redo()' do the same from a script. Each asks with 'helix-before-move' and tells with 'helix-move', as a move does, so a board that holds its positions in your state is undone through your state. **'arrange()' moves every card so that none overlaps another**, in layers that follow the arrows, or in a grid on a board with no connections. The cards glide for as long as the board's own transition, and 'undo()' puts them back. Every drag also works with clicks, as WCAG 2.5.7 requires for a pointer that cannot hold a button down. Click a selected card's move handle, a corner, a card's connection point, or the end of a selected connection to pick it up. It follows the pointer with no button held, and the next click puts it down where a drag would have. On touch, the next tap sets where it lands. Escape, or a press outside the board, puts it back. So a finger connects two cards with three taps: the card, one of its points, and the card to connect to. Connecting and removing dispatch requests, and your code applies them: - Drawing from a card's handle to another card, or pressing C on one card and Enter on another, dispatches 'helix-connect'. - Delete on a card or a connection dispatches 'helix-remove'. The event names every connection that removing the card would leave without an end. Once your page removes what Delete asked for, focus moves to the next stop, to the one before where it was the last, and to the board where none is left. A focused card your page removes for its own reasons hands focus on the same way, unless the reader has already moved focus somewhere else. The board applies a move itself, because the card already exists. A connection is a new element, and React discards an element the board adds to its markup on the next render, so you write the connection. **'edgeRoute' draws the connections' lines your own way**: a function from where a line leaves and arrives, and the sides it does, to its SVG path, for a route such as one that bends around the cards between. What it returns is the line drawn, the line pressed and focused, and the one an arrowhead sits at the end of. Nothing back draws the board's own. Add 'minimap' to 'controls' for a picture of the whole board in a corner: each card as a box, and a frame around what is on screen. A press or a drag on it brings that place to the middle of the view. It is for a pointer, and a screen reader skips it: the arrow keys and 'show()' reach every card. Cards and connections are 'helix-canvas-node' and 'helix-canvas-edge' elements, so they are in the served markup whichever renderer wrote them. The library fetches nothing, and an array passed to an element is missing from the first paint of a server-rendered React page. 'fromJsonCanvas' turns a JSON Canvas document into their props, and 'toJsonCanvas()' writes a board back out. */
|
|
20953
20953
|
"helix-headless-canvas": DefineCustomElement<
|
|
20954
20954
|
HelixHeadlessCanvas,
|
|
20955
20955
|
HelixHeadlessCanvasVueProps,
|
|
@@ -21153,7 +21153,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
21153
21153
|
HelixHeadlessFormatDateVueProps,
|
|
21154
21154
|
HelixHeadlessFormatDateVueEvents
|
|
21155
21155
|
>;
|
|
21156
|
-
/** The frame draws no graph itself. A force layout of thousands of notes is physics and WebGL, which a renderer such as Sigma.js does, and an architecture diagram is drawn by 'isometricDriver' from '@fusion.dev/helix-graph/isometric'. Put the drawing's box in the frame, and 'connectGraph' from '@fusion.dev/helix-graph' draws 'nodes' and 'links' in it and keeps it in step with the frame. What the frame adds is what a drawing of a graph cannot do: a list of every note beside it, which is the graph for a screen reader and a quick way to find a note for anyone. The selected note comes first, then the notes it links to and from, then every other note, and the search field narrows it. Selecting a note in the list or in the drawing is the same selection. Set 'depth' to show the local graph: only the notes within that many links of the selected one. The search field is a combobox over the list. Down and Up move through the notes while the focus stays in the field, and Enter selects one. **Walk the links with Alt and the arrow keys**, in the list or in the search field once its keys are on a note. The note the keys are on is marked in the drawing. | Key | What it does | |---|---| | Alt+Right | Follows a link, to the first note the one the keys are on links to or from. | | Alt+Down, Alt+Up | Moves to the next or the previous note linked to the one the step came from, wrapping. | | Alt+Left | Goes back along the links walked. | Right and Left swap on a right-to-left page. Each step says the note, how it stands to the note it came from, and its place among that note's links, such as "Hiring plan. Linked from Roadmap. 2 of 3". Enter selects the note. Set 'legend' to name the groups over the drawing, each a button that shows or hides its notes. 'hiddenGroups' holds the groups turned off, and the list holds only what the drawing shows. The legend is a toolbar and one tab stop: the arrow keys, Home, End and a group's first letters move between its buttons, and Space or Enter presses one. 'nodes' and 'links' are properties, never markup: a graph of ten thousand notes as ten thousand elements would cost what the renderer exists to save. The list draws only the rows in view. The list scrolls on this tier. It carries 'data-scroller', and 'core' ships '[data-scroller] { overflow: auto }' into every shadow root. You still need to set a block size on the list, or it grows to hold every row. */
|
|
21156
|
+
/** The frame draws no graph itself. A force layout of thousands of notes is physics and WebGL, which a renderer such as Sigma.js does, and an architecture diagram is drawn by 'isometricDriver' from '@fusion.dev/helix-graph/isometric'. Put the drawing's box in the frame, and 'connectGraph' from '@fusion.dev/helix-graph' draws 'nodes' and 'links' in it and keeps it in step with the frame. What the frame adds is what a drawing of a graph cannot do: a list of every note beside it, which is the graph for a screen reader and a quick way to find a note for anyone. The selected note comes first, then the notes it links to and from, then every other note, and the search field narrows it. Selecting a note in the list or in the drawing is the same selection. Set 'depth' to show the local graph: only the notes within that many links of the selected one. The search field is a combobox over the list. Down and Up move through the notes while the focus stays in the field, and Enter selects one. **Walk the links with Alt and the arrow keys**, in the list or in the search field once its keys are on a note. The note the keys are on is marked in the drawing. | Key | What it does | |---|---| | Alt+Right | Follows a link, to the first note the one the keys are on links to or from. | | Alt+Down, Alt+Up | Moves to the next or the previous note linked to the one the step came from, wrapping. | | Alt+Left | Goes back along the links walked. | Right and Left swap on a right-to-left page. Each step says the note, how it stands to the note it came from, and its place among that note's links, such as "Hiring plan. Linked from Roadmap. 2 of 3". Enter selects the note. Set 'legend' to name the groups over the drawing, each a button that shows or hides its notes. 'hiddenGroups' holds the groups turned off, and the list holds only what the drawing shows. The legend is a toolbar and one tab stop: the arrow keys, Home, End and a group's first letters move between its buttons, and Space or Enter presses one. The pan and zoom buttons are a toolbar and one tab stop too, the arrow keys moving between them by where they sit on screen. 'nodes' and 'links' are properties, never markup: a graph of ten thousand notes as ten thousand elements would cost what the renderer exists to save. The list draws only the rows in view. The list scrolls on this tier. It carries 'data-scroller', and 'core' ships '[data-scroller] { overflow: auto }' into every shadow root. You still need to set a block size on the list, or it grows to hold every row. */
|
|
21157
21157
|
"helix-headless-graph": DefineCustomElement<
|
|
21158
21158
|
HelixHeadlessGraph,
|
|
21159
21159
|
HelixHeadlessGraphVueProps,
|
|
@@ -21309,7 +21309,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
21309
21309
|
HelixHeadlessMapRasterVueProps,
|
|
21310
21310
|
HelixHeadlessMapRasterVueEvents
|
|
21311
21311
|
>;
|
|
21312
|
-
/** Wraps a map drawn by MapLibre, Leaflet, or another renderer. The frame adds a name for the map, a column of controls, and a strip for the map credit. Helix does not draw the map itself. The controls are one column, and 'controls' names which ones: 'fullscreen', 'layers', 'tilt', 'zoom', and 'compass', top to bottom. 'zoom compass fullscreen' by default. The compass's needle points north as the map turns, and pressing it turns the map to face north. Add 'pan' and 'rotate' for buttons around the compass that move and turn the map. Dragging is otherwise the only way a pointer moves the map, so add them where the map has to be usable without dragging, as WCAG 2.2 asks at level AA. The arrow keys pan the map and Shift with Left or Right turns it either way. The pan and zoom buttons and the arrow keys send 'helix-map-pan' and 'helix-map-zoom'. Move your map in response, or connect it with 'connectMap' from '@fusion.dev/helix-map', which does this for you. Add 'tilt' to 'controls' for the 3D button, which a map with 3D buildings or terrain needs. It is a toggle. Pressed, it tilts the map 50 degrees, and 'connectMap' raises the buildings and the ground. Pressed again, it makes the map flat, and lays them flat too. Shift with Up or Down tilts the map in steps. Turning and tilting send 'helix-map-rotate' and 'helix-map-tilt', which 'connectMap' answers on MapLibre. Leaflet draws maps flat and does not rotate. Add 'layers' to 'controls' for a layers button. It opens a menu with a tile for each layer, which sets the layer's 'hidden' attribute. Layers with the same 'group', such as a route and its dotted legs, share one tile. A tile sends 'helix-before-toggle' from the layer first, so you can store the choice or refuse it, and 'helix-toggle' from it once 'hidden' holds the choice. Escape closes the menu and returns focus to its button, and the menu closes when focus moves on from it or a press lands outside the map. Imagery, a 'helix-map-raster' with 'ground', is a map type and not a tile. The menu opens with a card for each type, Standard, Hybrid, and Satellite, with a picture of the map in it, and 'map-type' says which is chosen. Standard hides the imagery, Hybrid draws it under the roads and names, and Satellite draws it alone. Choosing one sends 'helix-before-change' with its name, and 'change' once 'map-type' holds it. 'connectMap' does not draw a hidden layer, so a layer you write with 'hidden' starts turned off. Markers, routes, areas, live positions, and points layers go inside the frame as child elements. */
|
|
21312
|
+
/** Wraps a map drawn by MapLibre, Leaflet, or another renderer. The frame adds a name for the map, a column of controls, and a strip for the map credit. Helix does not draw the map itself. The controls are one column, and 'controls' names which ones: 'fullscreen', 'layers', 'tilt', 'zoom', and 'compass', top to bottom. 'zoom compass fullscreen' by default. The compass's needle points north as the map turns, and pressing it turns the map to face north. Add 'pan' and 'rotate' for buttons around the compass that move and turn the map. Dragging is otherwise the only way a pointer moves the map, so add them where the map has to be usable without dragging, as WCAG 2.2 asks at level AA. The arrow keys pan the map and Shift with Left or Right turns it either way. The buttons are a toolbar and one tab stop: on them, the arrow keys move between the buttons by where they sit, and Shift with an arrow still turns or tilts the map. The pan and zoom buttons and the arrow keys send 'helix-map-pan' and 'helix-map-zoom'. Move your map in response, or connect it with 'connectMap' from '@fusion.dev/helix-map', which does this for you. Add 'tilt' to 'controls' for the 3D button, which a map with 3D buildings or terrain needs. It is a toggle. Pressed, it tilts the map 50 degrees, and 'connectMap' raises the buildings and the ground. Pressed again, it makes the map flat, and lays them flat too. Shift with Up or Down tilts the map in steps. Turning and tilting send 'helix-map-rotate' and 'helix-map-tilt', which 'connectMap' answers on MapLibre. Leaflet draws maps flat and does not rotate. Add 'layers' to 'controls' for a layers button. It opens a menu with a tile for each layer, which sets the layer's 'hidden' attribute. Layers with the same 'group', such as a route and its dotted legs, share one tile. A tile sends 'helix-before-toggle' from the layer first, so you can store the choice or refuse it, and 'helix-toggle' from it once 'hidden' holds the choice. Escape closes the menu and returns focus to its button, and the menu closes when focus moves on from it or a press lands outside the map. Imagery, a 'helix-map-raster' with 'ground', is a map type and not a tile. The menu opens with a card for each type, Standard, Hybrid, and Satellite, with a picture of the map in it, and 'map-type' says which is chosen. Standard hides the imagery, Hybrid draws it under the roads and names, and Satellite draws it alone. Choosing one sends 'helix-before-change' with its name, and 'change' once 'map-type' holds it. 'connectMap' does not draw a hidden layer, so a layer you write with 'hidden' starts turned off. Markers, routes, areas, live positions, and points layers go inside the frame as child elements. */
|
|
21313
21313
|
"helix-headless-map": DefineCustomElement<
|
|
21314
21314
|
HelixHeadlessMap,
|
|
21315
21315
|
HelixHeadlessMapVueProps,
|